{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<!-- 价格的经典随机行走（高斯分布）$\\longrightarrow$价格波动率的随机行走$\\longrightarrow$价格波动率的狂放随机（莱维稳定分布）\n",
    "\n",
    "信息论：期权和股票配置，\n",
    "\n",
    "分形，混沌，自组织\n",
    "\n",
    "利用遗传算法筛选 -->"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The Distribution of 1-D Classical Discrete Random Walk:\n",
    "$$\n",
    "p(t, n)=\\frac{1}{2^{t}}\\left(\\begin{array}{c}\n",
    "t \\\\\n",
    "\\frac{t+n}{2}\n",
    "\\end{array}\\right)\n",
    "$$\n",
    "The Average value：\n",
    "$$\n",
    "\\begin{aligned}\n",
    "\\langle n\\rangle &=\\sum_{n=-\\infty}^{\\infty} n p(t, n) \\\\\n",
    "&=0\n",
    "\\end{aligned}\n",
    "$$\n",
    "The Stardard Deviation：\n",
    "$$\n",
    "\\begin{aligned}\n",
    "s=\\sqrt{\\left\\langle n^{2}\\right\\rangle-\\langle n\\rangle^{2}} &=\\sqrt{\\sum_{n=-\\infty}^{\\infty} n^{2} p(t, n)} \\\\\n",
    "&\\propto\\sqrt{t} .\n",
    "\\end{aligned}\n",
    "$$\n",
    "When t is very large, p can be simplified by Stirling's formula:\n",
    "$$\n",
    "p(t, n) \\simeq \\frac{1}{\\sqrt{\\pi t}} e^{-\\frac{n^{2}}{t}}\n",
    "$$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "from sympy import *\n",
    "from sympy.abc import t,n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "p=1/2**t * factorial(t) / (factorial((t+n)/2)*factorial((t-n)/2))\n",
    "f1=p.subs(t,72)\n",
    "f2=p.subs(t,180)\n",
    "f3 =p.subs(t,450)\n",
    "fv1=[]\n",
    "fv2=[]\n",
    "fv3=[]\n",
    "for i in range(-72,73):\n",
    "    fv1.append(f1.subs(n,i))\n",
    "for i in range(-180,181):\n",
    "    fv2.append(f2.subs(n,i))\n",
    "for i in range(-450,451):\n",
    "    fv3.append(f3.subs(n,i))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x2b6f6c7b2fa0>"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(range(-72,73),fv1 ,label='t=72')\n",
    "plt.plot(range(-180,181),fv2,label='t=180' )\n",
    "plt.plot(range(-450,451),fv3,label='t=450' )\n",
    "plt.legend()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "1-D Discrete Quantum Walk: The Operation Space is The Product Between the Coin State and Position State; The Operstor is the Product Between the Diffusion Operator and Shift Operator\n",
    "\n",
    "The Initial State：\n",
    "$$\n",
    "|\\psi(0)\\rangle=\\frac{|0\\rangle-i|1\\rangle}{\\sqrt{2}}|n=0\\rangle\n",
    "$$\n",
    "The Diffusion Operator is the Product Between Hadamard Gate and Identity Matrix：$H \\otimes I$\n",
    "\n",
    "The Shift Operator：\n",
    "$$\n",
    "S=|0\\rangle\\langle 0|\\otimes \\sum_{n=-\\infty}^{\\infty}| n+1\\rangle\\langle n|+| 1\\rangle\\langle 1|\\otimes \\sum_{n=-\\infty}^{\\infty}| n-1\\rangle\\langle n|\n",
    "$$\n",
    "$$\n",
    "\\begin{aligned}\n",
    "&S|0\\rangle|n\\rangle=|0\\rangle|n+1\\rangle \\\\\n",
    "&S|1\\rangle|n\\rangle=|1\\rangle|n-1\\rangle\n",
    "\\end{aligned}\n",
    "$$\n",
    "The Definition of U：\n",
    "$$\n",
    "U=S(H \\otimes I)\n",
    "$$\n",
    "So：\n",
    "$$\n",
    "|\\psi(t)\\rangle=U^{t}|\\psi(0)\\rangle\n",
    "$$\n",
    "At the same time，$|\\psi(t)\\rangle$ can be written as following：\n",
    "$$\n",
    "\\left|\\psi(t)\\right\\rangle=\\sum_{n=-\\infty}^{\\infty}\\left(A_{n}(t)|0\\rangle+B_{n}(t)|1\\rangle\\right)|n\\rangle\n",
    "$$\n",
    "In order to get the Distribution p, We need to calculate $A_{n}(t)，B_{n}(t)$. The Normalization Condition：\n",
    "$$\n",
    "\\sum_{n=-\\infty}^{\\infty}\\left|A_{n}(t)\\right|^{2}+\\left|B_{n}(t)\\right|^{2}=1\n",
    "$$\n",
    "In addition，The Recurrence Formula：\n",
    "$$\n",
    "\\begin{aligned}\n",
    "&A_{n}(t+1)=\\frac{A_{n-1}(t)+B_{n-1}(t)}{\\sqrt{2}} \\\\\n",
    "&B_{n}(t+1)=\\frac{A_{n+1}(t)-B_{n+1}(t)}{\\sqrt{2}}\n",
    "\\end{aligned}\n",
    "$$\n",
    "The Initial Conditons：\n",
    "$$\n",
    "A_{n}(0)= \\begin{cases}\\frac{1}{\\sqrt{2}}, & \\text { if } n=0 \\\\ 0, & \\text { otherwise }\\end{cases}\n",
    "$$\n",
    "$$\n",
    "B_{n}(0)= \\begin{cases}\\frac{-i}{\\sqrt{2}}, & \\text { if } n=0 \\\\ 0, & \\text { otherwise }\\end{cases}\n",
    "$$\n",
    "The Probability Distribution：\n",
    "$$\n",
    "p(t, n)=\\left|A_{n}(t)\\right|^{2}+\\left|B_{n}(t)\\right|^{2}\n",
    "$$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x2b6f6e938fa0>]"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "t=100\n",
    "p=np.zeros(2*t+1)\n",
    "A=np.zeros(2*t+3)*(1+0j)\n",
    "B=np.zeros(2*t+3)*(1+0j)\n",
    "A[t+1]=1/np.sqrt(2)\n",
    "B[t+1]=-1j/np.sqrt(2)\n",
    "for i in range(t):\n",
    "    aux1=A.copy()\n",
    "    aux2=B.copy()\n",
    "    for ii in range(1,2*t+2):\n",
    "        A[ii]=(aux1[ii-1]+aux2[ii-1])/np.sqrt(2)\n",
    "        B[ii]=(aux1[ii+1]-aux2[ii+1])/np.sqrt(2)\n",
    "for i in range(1,2*t+2):\n",
    "    p[i-1]=np.linalg.norm(A[i])**2+np.linalg.norm(B[i])**2\n",
    "plt.plot(range(-t,t+1),p)   "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x2b6f6e9c4070>]"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXAAAAD4CAYAAAD1jb0+AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAAsTAAALEwEAmpwYAAAg00lEQVR4nO3deXxU5aHG8d8bSAgBEghrIISwypYoEHbqgtTKomyu5Soqiu2trbZ62dxQUUBbtbZuuBVb60aCIIKKKKJVUVDJAmEL+5awJISEkGXe+0fGe6kFCclMzpyZ5/v55JM5JzOe53CSx5OT875jrLWIiIj7hDkdQEREqkcFLiLiUipwERGXUoGLiLiUClxExKXq1ubGmjVrZhMTE2tzkyIirrd27dqD1trmP15fqwWemJjImjVranOTIiKuZ4zZcar1uoQiIuJSKnAREZdSgYuIuJQKXETEpVTgIiIupQIXEXEpFbiIiEupwEVE/GhP/nEeeDeL8gqPz//btTqQR0QkVHg8ltdW72DOsmwsMLZXG5LjG/t0GypwEREf25p3jGmp6Xyz/Qg/69yMR8Ym0TY2yufbUYGLiPhIWYWHFz7L4cmPNhNZN4zHrkjmij7xGGP8sj0VuIiID2TuKWBqajpZe48yvGcrHhjdgxaNIv26TRW4iEgNlJRV8NSKzTy/KocmURE8O6E3w5PiamXbKnARkWpau+MwUxakszWviCv6xHPPyG40joqote2rwEVEzlLRiXIe+2Aj87/cTuuY+sy/qR8XdPmP6br9TgUuInIWVm3KY3paBnsLjjNxYCJ3/eIcGtZzpkpV4CIiVZBfXMpDSzaQ+u1uOjRvwNu3DiQlMdbRTCpwEZGfYK1lWeZ+7luUSX5xGbdd1InbhnYiMryO09GqVuDGmO1AIVABlFtrU4wxscCbQCKwHbjKWnvEPzFFRGpf7tES7l2UyQdZB+jZJpr5N/WjR+sYp2P9n7M5A7/IWnvwpOVpwApr7RxjzDTv8lSfphMRcYC1lrfX7mbWkvWcKPcwbXhXbh7Snrp1Amv6qJpcQhkNXOh9PB9YiQpcRFxu1+FiZizM4LPNB+mXGMuc8Ul0aN7Q6VinVNUCt8CHxhgLPG+tnQe0tNbu8359P9DyVC80xkwGJgMkJCTUMK6IiH9UeCyvfrmdxz7YiAEeGtOTCf0SCAvzzzB4X6hqgQ+x1u4xxrQAlhtjsk/+orXWesv9P3jLfh5ASkrKKZ8jIuKkLbmFTE3NYO2OI1zQpTmPjEuiTeP6Tsc6oyoVuLV2j/dzrjFmIdAPOGCMibPW7jPGxAG5fswpIuJzZRUenv90K0+t2EJUvTo8cfW5jDmvjd8mn/K1Mxa4MaYBEGatLfQ+vgR4EFgMTATmeD8v8mdQERFfythdwP8sWEf2/kJGJsfxwOU9aNawntOxzkpVzsBbAgu9/0eqC/zTWvu+MeYb4C1jzCRgB3CV/2KKiPhGSVkFT3y0iRdW5dCsYT2ev64Pv+jRyulY1XLGArfW5gDnnmL9IeBif4QSEfGHr3IOMS01ne2Hirmmb1umj+hGTP1wp2NVm0ZiikjQKywpY86ybF5bvZOE2Cj+eXN/BnVq5nSsGlOBi0hQ+yQ7lxkLMzhwtIRJQ9pz5yVdiIoIjuoLjr0QEfmRw0WlPLRkPQu/20OXlg15ZsIgeiU0cTqWT6nARSSoWGtZkr6PmYuzKDhexu8u7sxvLupIvbrOTz7laypwEQkaB46WcM87mSxff4Dk+Bheu6U/XVtFOx3Lb1TgIuJ61lre/GYXDy/dQGm5h7tHdOPGwYkBN/mUr6nARcTVdhwqYnpaBl9sPcSADrHMGZdMYrMGTseqFSpwEXGlCo/llX9t448fbiQ8LIzZ45K4OqVtQE8+5WsqcBFxnY37C5mSms66XfkM69aCWWOSaBUT6XSsWqcCFxHXKC338MzKLTz9yRYaRYbz1LW9uCw5zjWTT/maClxEXOH7XflMXZDOxgOFjD6vNfdf1oPYBhFOx3KUClxEAtrx0goeX76Rlz7fRotGkbw0MYWLu53y/WNCjgpcRALWF1sPMj0tgx2Hivll/wSmDe9KdKR7J5/yNRW4iAScoyVlzF6azetf76Rd0yhev2UAAzs2dTpWwFGBi0hAWb7+APe8k0Fe4QluPb8DdwzrQv2I4BsG7wsqcBEJCIeOneD+xVksSd9H11aNmHddCue2bex0rICmAhcRR1lrWbxuLzMXZ3HsRDl/+HkXfnVBRyLqBvcweF9QgYuIY/YVHOfuhZl8nJ1Lr4TGPDo+mc4tGzkdyzVU4CJS6zwey+vf7GT20mwqPJb7RnVn4qBE6oTQMHhfUIGLSK3adrCIaanprN52mMGdmjJ7bDIJTaOcjuVKKnARqRXlFR5e+nwbjy/fRETdMOaOT+KqlLYhOwzeF1TgIuJ36/ceZWpqOhl7ChjWrSUPj+1Jy+jQm3zK11TgIuI3J8or+OvHW3h25VZi6ofz11/2YmRS6E4+5WsqcBHxi7U7jjA1NZ0tuccY26sN943qTpMQn3zK11TgIuJTxaXlPPbBRv72xXbioiN55ca+XHROC6djBSUVuIj4zOebDzItLZ3dR45z3YB2TB3elYb1VDP+on9ZEamxguNlPPLeBt5cs4v2zRrw1q0D6dc+1ulYQU8FLiI18kHWfu59J5NDRaX86oKO3DGsM5HhmnyqNlS5wI0xdYA1wB5r7ShjTHvgDaApsBa4zlpb6p+YIhJo8gpPMHNxFu9l7KNbXDQvTexLUnyM07FCytnMFnM7sOGk5bnAE9baTsARYJIvg4lIYLLWkvbtbn7+xKcsX3+Auy7pwuLbBqu8HVClAjfGxAMjgRe9ywYYCizwPmU+MMYP+UQkgOw+UswNr3zDH95aR8fmDVl6+xBuG9qZ8DqaOdAJVb2E8iQwBfhhmrCmQL61tty7vBtoc6oXGmMmA5MBEhISqh1URJzj8Vj+sXoHc5dlY4EHLu/BdQPaEabJpxx1xgI3xowCcq21a40xF57tBqy184B5ACkpKfZsXy8iztqad4ypC9JZs+MI53dpziNjexLfRJNPBYKqnIEPBi43xowAIoFo4M9AY2NMXe9ZeDywx38xRaS2lVV4mLcqhz+v2Ez98Dr88cpzGd+7jYbBB5AzFri1djowHcB7Bn6XtXaCMeZt4Aoq70SZCCzyX0wRqU1ZewuYsiCdrL1HGd6zFQ+M7kGLRpp8KtDU5D7wqcAbxphZwHfAS76JJCJOKSmr4C8fb+a5T3NoEhXBsxN6MzwpzulYchpnVeDW2pXASu/jHKCf7yOJiBPWbD/M1NR0tuYVcWWfeO4e2Y3GUZp8KpBpJKZIiDt2opzH3s/m1a920DqmPq/e1I/zuzR3OpZUgQpcJISt3JjL3Qsz2VtwnBsGJXLXJefQQJNPuYaOlEgIOlJUykPvrSft2z10atGQBb8aRJ92TZyOJWdJBS4SQqy1LMvcz32LMskvLuO3Qztx29BO1KuryafcSAUuEiJyj5Zw76JMPsg6QM820bx6U3+6t452OpbUgApcJMhZa3l77W5mLVlPSbmHacO7cvOQ9tTV/CWupwIXCWK7DhczPS2Dz7ccpG9iE+aOT6ZD84ZOxxIfUYGLBKEKj2X+F9t57IONhBl4aExPJvRL0ORTQUYFLhJkNh8oZEpqOt/tzOfCc5rz8Ngk2jSu73Qs8QMVuEiQKC338NynW/nrx1toUK8OT159HqPPa63Jp4KYClwkCKTvzmfKgnSy9xcyKjmOmZf3oFnDek7HEj9TgYu4WElZBU8s38QLn+XQvFE9Xrg+hZ93b+l0LKklKnARl/oq5xDTUtPZfqiYa/u1ZfqIbkRHhjsdS2qRClzEZQpLypizLJvXVu8kITaKf97cn0GdmjkdSxygAhdxkU+yc5mxMIMDR0uYNKQ9d17ShagI/RiHKh15ERc4XFTKg+9m8c73e+ncoiHP/HoQvRI0+VSoU4GLBDBrLYvX7eWBd9dTWFLG7y7uzG8u6qjJpwRQgYsErH0Fx7lnYSYrsnM5Nz6GuVf0p2srTT4l/08FLhJgPB7LG9/sYvbSDZR5PNw9ohs3DWlPHQ2Dlx9RgYsEkO0Hi5ielsGXOYcY2KEpc8Yn0a5pA6djSYBSgYsEgAqP5eXPt/Gn5RsJDwtj9rgkrunbVsPg5SepwEUctnF/5eRT63blM6xbC2aNSaJVTKTTscQFVOAiDikt9/DMyi08/ckWGkWG89S1vbgsOU5n3VJlKnARB3y/K5+pC9LZeKCQMee15r7LehDbIMLpWOIyKnCRWlRcWs6fPtzEK//aRotGkbx8QwpDu2ryKakeFbhILfnXloNMS0tn1+HjTOifwLThXWmkyaekBlTgIn5WcLyMR97bwJtrdpHYNIo3Jg9gQIemTseSIKACF/GjD7P2c887mRwqKuVXF3TkjmGdiQzXMHjxjTMWuDEmElgF1PM+f4G19n5jTHvgDaApsBa4zlpb6s+wIm5x8NgJ7l+cxXvp++gWF81LE/uSFB/jdCwJMlU5Az8BDLXWHjPGhAOfG2OWAX8AnrDWvmGMeQ6YBDzrx6wiAc9ay6Lv9/LAu1kUnajgrku6cOsFHQmvE+Z0NAlCZyxwa60FjnkXw70fFhgK/NK7fj4wExW4hLC9+ce5551MPs7OpVdCYx4dn0znlo2cjiVBrErXwI0xdai8TNIJeBrYCuRba8u9T9kNtDnNaycDkwESEhJqmlck4Hg8lte+3sncZdlUeCz3jerOxEGJmnxK/K5KBW6trQDOM8Y0BhYCXau6AWvtPGAeQEpKiq1GRpGAlZN3jGmpGXy9/TCDOzVlzrhk2sZGOR1LQsRZ3YVirc03xnwCDAQaG2Pqes/C44E9/ggoEojKKzy88Nk2nvhoE5F1w3j0imSu7BOvYfBSq6pyF0pzoMxb3vWBnwNzgU+AK6i8E2UisMifQUUCRdbeAqamppO55yiX9mjFg6N70CJak09J7avKGXgcMN97HTwMeMtau8QYsx54wxgzC/gOeMmPOUUcV1JWwV8+3sxzn+bQJCqCZyf0ZnhSnNOxJIRV5S6UdKDXKdbnAP38EUok0KzdcZgpC9LZmlfE+N7x3DuqG42jNPmUOEsjMUV+QtGJcv744Ub+9sV2WsfUZ/5N/bigS3OnY4kAKnCR0/pscx7T0zLYfeQ41w9sx5RLu9Kwnn5kJHDou1HkRwqKy5j13nreXrubDs0b8PavBtI3MdbpWCL/QQUucpJlGfu4b3EWh4tK+fWFHbn9Yk0+JYFLBS4C5B4t4b5FWbyftZ8eraN55Ya+9GyjyacksKnAJaRZa3l77W5mLVlPSbmHKZeewy0/66DJp8QVVOASsnYdLmbGwgw+23yQfomxzBmfRIfmDZ2OJVJlKnAJOR6PZf6X23nsg40Y4KHRPZjQvx1hmnxKXEYFLiFlS+4xpqWms2bHES7o0pxHxiXRpnF9p2OJVIsKXEJCWYWHeaty+PNHm6kfUYc/XXku43q30eRT4moqcAl6mXsKmLIgnfX7jjIyKY6Zl/egeaN6TscSqTEVuAStkrIKnvhoEy9+to3YBhE89199uLRnK6djifiMClyC0lc5h5ielsG2g0Vc07ct00d0I6Z+uNOxRHxKBS5BpbCkjDnLsnlt9U4SYqP45839GdSpmdOxRPxCBS5B4+PsA9y9MJMDR0u4eUh77rzkHOpHaBi8BC8VuLjekaJSHng3i3e+30uXlg15ZsIgeiU0cTqWiN+pwMW1rLUszdjP/YszyS8u43cXd+Y3F3WkXl2ddUtoUIGLKx04WsI972SyfP0BkuNj+Puk/nSLi3Y6lkitUoGLq1hrefObXTy8dAOl5R5mjOjKTYPbU1eTT0kIUoGLa2w/WMT0tAy+zDlE//axzB2fTGKzBk7HEnGMClwCXnmFh5f/tY0/fbiJiDphzB6XxNUpbTX5lIQ8FbgEtOz9R5m6IJ11uwsY1q0Fs8Yk0Som0ulYIgFBBS4BqbTcw9OfbOGZlVuIjgznr7/sxcikOE0+JXISFbgEnO935TNlwTo2HTjG2F5tuG9Ud5o0iHA6lkjAUYFLwDheWsHjyzfy0ufbaBkdySs39OWiri2cjiUSsFTgEhC+2HqQ6WkZ7DhUzLX9EpgxoiuNIjX5lMhPUYGLo46WlDF7aTavf72Tdk2jeP2WAQzs2NTpWCKuoAIXx3yYtZ97F2WSV3iCyed34PfDumjyKZGzcMYCN8a0BV4FWgIWmGet/bMxJhZ4E0gEtgNXWWuP+C+qBIu8whPMfDeL99L30bVVI164PoXk+MZOxxJxnaqcgZcDd1prvzXGNALWGmOWAzcAK6y1c4wx04BpwFT/RRW3s9ay8Ls9PLhkPcUnKrjrki7cekFHwjUMXqRazljg1tp9wD7v40JjzAagDTAauND7tPnASlTgchp78o9z98IMVm7Mo0+7Jswdn0ynFg2djiXiamd1DdwYkwj0AlYDLb3lDrCfykssp3rNZGAyQEJCQrWDijt5PJbXvt7JnKUbsMDMy7pz/cBEDYMX8YEqF7gxpiGQCtxhrT168og4a601xthTvc5aOw+YB5CSknLK50hw2nawiGmp6azedpifdW7GI2OTaBsb5XQskaBRpQI3xoRTWd6vWWvTvKsPGGPirLX7jDFxQK6/Qoq7lFd4eOnzbTy+fBMRdcN4dHwyV6bEaxi8iI9V5S4UA7wEbLDWPn7SlxYDE4E53s+L/JJQXGX93qNMTU0nY08Bl3RvyUNjetIyWpNPifhDVc7ABwPXARnGmO+962ZQWdxvGWMmATuAq/ySUFyhpKyCp1Zs5vlVOTSJCufpX/ZmRFIrnXWL+FFV7kL5HDjdT+HFvo0jbvTN9sNMTU0nJ6+IK/rEc8/IbjSO0uRTIv6mkZhSbcdOlPPo+9m8+uUO2jSuz6s39eP8Ls2djiUSMlTgUi2fbspjRloGewuOc+PgRO665Bwa1NO3k0ht0k+cnJX84lIeWrKB1G9306lFQxb8ahB92jVxOpZISFKBS5W9n7mPexdlcbiolNsu6sRvL+5EvbqafErEKSpwOaPcwhLuX5TFssz99Ggdzd9u7EuP1jFOxxIJeSpwOS1rLQvW7mbWexs4XlbBlEvP4ZafddDkUyIBQgUup7TzUDEzFmbw+ZaD9E1swpzxyXRsrsmnRAKJClz+TYXH8sq/tvHHDzdSNyyMh8b0ZEK/BE0+JRKAVODyfzbuL2RKajrrduVzcdcWzBrbk7iY+k7HEpHTUIELpeUenlm5hac/2UKjyHCeurYXlyXHaRi8SIBTgYe49N35TFmQTvb+Qkaf15r7L+tBbAMNgxdxAxV4iCopq+DJjzYzb9VWmjeqx4vXpzCs+ynfk0NEApQKPAStzjnEtLQMth0s4uqUtswY2Y2Y+uFOxxKRs6QCDyGFJWXMfT+bf3y1k4TYKF67uT+DOzVzOpaIVJMKPEQsX3+Ae9/JJLewhElD2nPnJV2IitDhF3Ez/QQHubzCE8x8N4v30vfRtVUjnruuD+e1bex0LBHxARV4kLLWsvC7PTy4ZD3FJyq48+dduPWCjkTU1TB4kWChAg9Ce/KPMyMtg0835dGnXRPmjk+iU4tGTscSER9TgQcRj8fyz693MnvpBiww87LuXD8wUcPgRYKUCjxIbD9YxLS0dL7KOczgTk2ZMy6ZtrFRTscSET9SgbtceYWHV/61nT8t30h4WBizxyVxTd+2GgYvEgJU4C62fu9Rpqels253AcO6tWTWmJ60iol0OpaI1BIVuAuVlFXw1IrNzFuVQ+OocP5ybS9GafIpkZCjAneZk4fBX9knnrtHdqNxlCafEglFKnCXOHkYfNvY+vxjUn+GdNYweJFQpgJ3gU825jIjLYMDR0u4eUh7/qBh8CKCCjyg5ReX8uCS9aR9u4fOLRry9K8H0TuhidOxRCRAqMAD1PuZ+7l3USaHi0r57dBO3Da0E/Xq1nE6logEkDMWuDHmZWAUkGut7eldFwu8CSQC24GrrLVH/BczdOQWljBzcRZLM/bTPS6aV27oS882MU7HEpEAVJWZjf4GXPqjddOAFdbazsAK77LUgLWWt9bs4uePr+KjDbn8zy/OYdFtg1XeInJaZzwDt9auMsYk/mj1aOBC7+P5wEpgqi+DhZJtB4uYkZbBlzmH6JvYhNnjkunUoqHTsUQkwFX3GnhLa+0+7+P9wGnfTNEYMxmYDJCQkFDNzQWn8goPL3y2jSc/2kREnTAeHtuTa/smaPIpEamSGv8R01prjTH2J74+D5gHkJKSctrnhZqsvQVMTU0nc89RftGjJQ+O7knLaA2DF5Gqq26BHzDGxFlr9xlj4oBcX4YKZifKK4fBP/dpDk2iInh2Qm+GJ8U5HUtEXKi6Bb4YmAjM8X5e5LNEQez7Xfn8z9vr2Jx7jPG947l3lIbBi0j1VeU2wtep/INlM2PMbuB+Kov7LWPMJGAHcJU/Q7rd8dIKnvxoEy98lkPL6EheubEvF53TwulYIuJyVbkL5drTfOliH2cJSl9sPcj0tAx2HCrm2n5tmT6iG9GR4U7HEpEgoJGYflJQXMbsZRt445tdtGsaxT9v6c+gjpp8SkR8RwXuY9Za3k3fx4PvZnGkuIzJ53fg98O6UD9Cw+BFxLdU4D60J/84dy/MYOXGPJLjY5h/Uz96tNZIShHxDxW4D3g8ln+s3sHcZdl4LNw7qjs3DEqkjgbkiIgfqcBraNvBIqYsWMc324/ws87NeGRskt4NXkRqhQq8mio8lr99sZ3HPsgmok4Yj12RzBV94vW+lCJSa1Tg1bAl9xjTUtNZs+MIQ7u2YPa4JA2DF5FapwI/C6XlHp7/dCt/+XgL9SPq8Kcrz2Vc7zY66xYRR6jAq2jtjsPcvTCT7P2FjEyOY+ZlPWjeqJ7TsUQkhKnAzyC/uJS572fz+te7iIuJZN51fbikRyunY4mIqMBP54cBOQ8sziL/eBm3/Kw9dwzrQoN6+icTkcCgNjqFfQXHuWdhJiuyczk3Poa/T+pP99bRTscSEfk3KvCT/PC+lA8t2UCFx3LPyG7cOLi9BuSISEBSgXsdOFrCtNR0PtmYx4AOsTw6/lwSmmpAjogErpAvcGstb6/Zzaz31lNa4eH+y7ozcWCi3pdSRAJeSBf49oNFzFiYwRdbD9EvMZY545Po0FzvBi8i7hCSBX68tIJnP93K859uJaJuGI+MTeKavm111i0irhJSBW6tZWnGfh5+bz17C0q47NzW3DOym4bBi4grhUyB7zxUzN3vZPDZ5oN0i4vmyWt60a99rNOxRESqLegLvLzCw4ufb+PJjzZRNyyMBy7vwX8NaKdbA0XE9YK6wHceKub2N7/ju535/KJHS2Ze3oO4mPpOxxIR8YmgLHBrLWnf7uG+RZmEhRmeurYXl5/b2ulYIiI+FXQFvvNQMTPfzeLj7Fz6tY/liavPo01jnXWLSPAJmgIvLi3nhVXbeHrlFsLDjIbBi0jQc3WBW2v5dmc+C9bu4t11+zh2opxRyXHcM7I7rWJ0a6CIBDdXFri1lhUbcnnq482k7y4gKqIOI5LiuLZfW/q0062BIhIaXFfga3cc4f7FmWTuOUpCbBSPjE3i8vNa01DzdItIiHFV623JPcYNr3xNdGQ4j12RzJhebQivE+Z0LBERR9So/YwxlxpjNhpjthhjpvkq1KnkF5dy8/xviKgTxpu3DuDKlLYqbxEJadVuQGNMHeBpYDjQHbjWGNPdV8FOVlbh4b9f+5a9+SU8f10f4ptonm4RkZqcwvYDtlhrc6y1pcAbwGjfxPp/1lpmLs7ii62HmD0uiZRE/ZFSRARqVuBtgF0nLe/2rvs3xpjJxpg1xpg1eXl51dpQh+YN+e8LOzK+T3z1koqIBCG//xHTWjsPmAeQkpJiz/b1xhgmDWnv81wiIm5XkzPwPUDbk5bjvetERKQW1KTAvwE6G2PaG2MigGuAxb6JJSIiZ1LtSyjW2nJjzG3AB0Ad4GVrbZbPkomIyE+q0TVwa+1SYKmPsoiIyFnQSBgREZdSgYuIuJQKXETEpVTgIiIuZaw967E11d+YMXnAjmq+vBlw0Idx3CIU9zsU9xlCc7+1z1XTzlrb/Mcra7XAa8IYs8Zam+J0jtoWivsdivsMobnf2uea0SUUERGXUoGLiLiUmwp8ntMBHBKK+x2K+wyhud/a5xpwzTVwERH5d246AxcRkZOowEVEXMoVBV6bb57sFGNMW2PMJ8aY9caYLGPM7d71scaY5caYzd7PTZzO6mvGmDrGmO+MMUu8y+2NMau9x/tN73TFQcUY09gYs8AYk22M2WCMGRjsx9oY83vv93amMeZ1Y0xkMB5rY8zLxphcY0zmSetOeWxNpae8+59ujOl9NtsK+AKvzTdPdlg5cKe1tjswAPiNdz+nASustZ2BFd7lYHM7sOGk5bnAE9baTsARYJIjqfzrz8D71tquwLlU7n/QHmtjTBvgd0CKtbYnlVNQX0NwHuu/AZf+aN3pju1woLP3YzLw7NlsKOALnFp682SnWWv3WWu/9T4upPIHug2V+zrf+7T5wBhHAvqJMSYeGAm86F02wFBggfcpwbjPMcD5wEsA1tpSa20+QX6sqZy+ur4xpi4QBewjCI+1tXYVcPhHq093bEcDr9pKXwGNjTFxVd2WGwq8Sm+eHEyMMYlAL2A10NJau8/7pf1AS6dy+cmTwBTA411uCuRba8u9y8F4vNsDecAr3ktHLxpjGhDEx9pauwf4I7CTyuIuANYS/Mf6B6c7tjXqNzcUeEgxxjQEUoE7rLVHT/6arbznM2ju+zTGjAJyrbVrnc5Sy+oCvYFnrbW9gCJ+dLkkCI91EyrPNtsDrYEG/OdlhpDgy2PrhgIPmTdPNsaEU1ner1lr07yrD/zwK5X3c65T+fxgMHC5MWY7lZfGhlJ5bbix99dsCM7jvRvYba1d7V1eQGWhB/OxHgZss9bmWWvLgDQqj3+wH+sfnO7Y1qjf3FDgIfHmyd5rvy8BG6y1j5/0pcXARO/jicCi2s7mL9ba6dbaeGttIpXH9WNr7QTgE+AK79OCap8BrLX7gV3GmHO8qy4G1hPEx5rKSycDjDFR3u/1H/Y5qI/1SU53bBcD13vvRhkAFJx0qeXMrLUB/wGMADYBW4G7nc7jp30cQuWvVenA996PEVReE14BbAY+AmKdzuqn/b8QWOJ93AH4GtgCvA3UczqfH/b3PGCN93i/AzQJ9mMNPABkA5nA34F6wXisgdepvM5fRuVvW5NOd2wBQ+VddluBDCrv0qnytjSUXkTEpdxwCUVERE5BBS4i4lIqcBERl1KBi4i4lApcRMSlVOAiIi6lAhcRcan/BZuZSQuzlpzTAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "dev=[]\n",
    "for t in range(100):\n",
    "    p=np.zeros(2*t+1)\n",
    "    A=np.zeros(2*t+3)*(1+0j)\n",
    "    B=np.zeros(2*t+3)*(1+0j)\n",
    "    A[t+1]=1/np.sqrt(2)\n",
    "    B[t+1]=-1j/np.sqrt(2)\n",
    "    for i in range(t):\n",
    "        aux1=A.copy()\n",
    "        aux2=B.copy()\n",
    "        for ii in range(1,2*t+2):\n",
    "            A[ii]=(aux1[ii-1]+aux2[ii-1])/np.sqrt(2)\n",
    "            B[ii]=(aux1[ii+1]-aux2[ii+1])/np.sqrt(2)\n",
    "    for i in range(1,2*t+2):\n",
    "        p[i-1]=np.linalg.norm(A[i])**2+np.linalg.norm(B[i])**2\n",
    "    s=0\n",
    "    for i in range(-t,t+1):\n",
    "        s+=i**2*p[i+t]\n",
    "    dev.append(np.sqrt(s))\n",
    "\n",
    "plt.plot(range(100),dev)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "from scipy.integrate import quad\n",
    "import math"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "beta=0\n",
    "\n",
    "c=0\n",
    "\n",
    "miu=0"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "def fun(x,alpha,ii):\n",
    "    return 4*math.pi*math.exp(-(np.abs(x)**alpha))*math.cos(ii*x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x2b6fa17f7bb0>,\n",
       " <matplotlib.lines.Line2D at 0x2b6fa17f7be0>]"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "alpha=1.5\n",
    "fv=[]\n",
    "for ii in np.arange(-4,4,0.1):\n",
    "    fv.append(quad(fun,0,10,args=(alpha,ii)))\n",
    "plt.plot(np.arange(-4,4,0.1),fv,'r')\n",
    "alpha=2\n",
    "fv=[]\n",
    "for ii in np.arange(-4,4,0.1):\n",
    "    fv.append(quad(fun,0,10,args=(alpha,ii)))\n",
    "plt.plot(np.arange(-4,4,0.1),fv,'b')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Classical Markov Chains：\n",
    "\n",
    "The Transition Matrix When time is $t$：\n",
    "$$\n",
    "M_{i j}(\\epsilon)= \\begin{cases} 1-d_{j}\\gamma \\epsilon +O\\left(\\epsilon^{2}\\right), & \\text { if } i=j \\\\ \\gamma \\epsilon+O\\left(\\epsilon^{2}\\right), & \\text { if } i \\neq j\\end{cases}\n",
    "$$\n",
    "Definding a Generating Matrix：\n",
    "$$\n",
    "H_{i j}=\\left\\{\\begin{aligned}\n",
    "d_{j} \\gamma, & \\text { if } i=j: \\\\\n",
    "-\\gamma, & \\text { if } i \\neq j \\text { and adjacent; } \\\\\n",
    "0, & \\text { if } i \\neq j \\text { and non-adjacent. }\n",
    "\\end{aligned}\\right.\n",
    "$$\n",
    "The Next State Just Bases On The Current State：\n",
    "$$\n",
    "M_{i j}(t+\\epsilon)=\\sum_{k} M_{i k}(t) M_{k j}(\\varepsilon)\n",
    "$$\n",
    "Calculating By The Top 3 Formula：\n",
    "$$\n",
    "\\begin{aligned}\n",
    "M_{i j}(t+\\epsilon) &=M_{i j}(t) M_{j j}(\\epsilon)+\\sum_{k\\neq j} M_{i k}(t) M_{k j}(\\epsilon) \\\\\n",
    "&=M_{i j}(t)\\left(1-\\epsilon H_{j j}\\right)-\\epsilon \\sum_{k\\neq j} M_{i k}(t) H_{k j}\n",
    "\\end{aligned}\n",
    "$$\n",
    "Making a Shift：\n",
    "$$\n",
    "\\frac{\\mathrm{d} M_{i j}(t)}{\\mathrm{d} t}=-\\sum_{k} H_{k j} M_{i k}(t)\n",
    "$$\n",
    "The Initial Conditions：\n",
    "$$\n",
    "M_{i j}(0)=\\delta_{i j}\n",
    "$$\n",
    "The Result is：\n",
    "$$\n",
    "M(t)=\\mathrm{e}^{-H t}\n",
    "$$\n",
    "The Change of Probability：\n",
    "$$\n",
    "\\vec{p}(t)=M(t) \\vec{p}(0)\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Continuous-Time Quantum Walks：\n",
    "\n",
    "Transforming M to U:\n",
    "$$\n",
    "U(t)=\\mathrm{e}^{-\\mathrm{i} H t}\n",
    "$$\n",
    "The Quantum state and Probability Distribution：\n",
    "$$\n",
    "|\\dot{\\psi}(t)\\rangle=U(t)|\\psi(0)\\rangle\n",
    "$$\n",
    "$$\n",
    "p_{k}=|\\langle k \\mid \\psi(t)\\rangle|^{2}\n",
    "$$\n",
    "$|k\\rangle$ is the state of the computational basis corresponding to the vertex $x_k$\n",
    "\n",
    "1-D Discrete Space Continuous Quantum Walk：\n",
    "$$\n",
    "H_{i j}= \\begin{cases}2 \\gamma, & \\text { if }=j \\\\ -\\gamma, & \\text { if } \\neq j \\text { and adjacent } \\\\ 0, & \\text { if } i \\neq j \\text { and non-adjacent }\\end{cases}\n",
    "$$\n",
    "$$\n",
    "H|n\\rangle=-\\gamma|n-1\\rangle+2 \\gamma|n\\rangle-\\gamma|n+1\\rangle\n",
    "$$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "from scipy.linalg import expm"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x2b6fa38830a0>]"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "t=100\n",
    "gamma=1/(2*np.sqrt(2))\n",
    "H=np.zeros((2*t+1,2*t+1))\n",
    "for i in range(2*t+1):\n",
    "    H[i,i]=2*gamma\n",
    "for i in range(2*t):\n",
    "    H[i,i+1]=-gamma\n",
    "for i in range(1,2*t+1,1):\n",
    "    H[i,i-1]=-gamma\n",
    "psi0=np.zeros(2*t+1)\n",
    "psi0[t]=1\n",
    "psi=np.dot(expm(-1j*H*t),psi0)\n",
    "p=[]\n",
    "for i in range(2*t+1):\n",
    "    p.append(np.linalg.norm(psi[i])**2)\n",
    "plt.plot(range(-t,t+1),p)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1.000000000000001"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.sum(p)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x2b6fa38eb940>]"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXAAAAD4CAYAAAD1jb0+AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAAsTAAALEwEAmpwYAAAgtklEQVR4nO3deXQV9f3/8ecHCIGwhbCGJSQQdhK2AOJCEbWgUAWx1qWK1Yq19dfWtrIoLlStuLRqW6tFq2Krok3CIuKKuC8IKllZQghrIAmQhezJ/fz+yLXlS0FCcm8md+7rcU5O7p3cMK/JwOtMhpn3NdZaREQk8LRwOoCIiDSMClxEJECpwEVEApQKXEQkQKnARUQCVKumXFnXrl1tdHR0U65SRCTgbdq0qcBa2+345U1a4NHR0WzcuLEpVykiEvCMMbtOtFynUEREApQKXEQkQKnARUQCVL3OgRtjcoASoBaosdYmGGMigFeAaCAHuNxae8Q/MUVE5HincwR+rrV2lLU2wft8AbDOWjsQWOd9LiIiTaQxp1AuAZZ5Hy8DZjY6jYiI1Ft9C9wCbxtjNhlj5nqX9bDW5nofHwB6nOgbjTFzjTEbjTEb8/PzGxlXRES+Vd8CP9taOwa4EPiFMWbSsV+0dTNpTziX1lq71FqbYK1N6Nbtf65DFxFxtX2F5Sx+LZ2aWo/P/+x6Fbi1dp/3cx6wAhgPHDTGRAJ4P+f5PJ2ISIDyeCwvfJbD9//0Acs37CEjt9jn6zhlgRtj2hljOnz7GPg+kAasBuZ4XzYHWOXzdCIiAWhH/lF+tPQz7lqVzph+nXn71knE9wn3+XrqcxlhD2CFMebb179krX3TGPMl8Kox5gZgF3C5z9OJiASQmloPSz/K5rF3t9OmVQseviyey8b2wdufPnfKArfWZgMjT7D8EHCeP0KJiASa9P1FzE9KIW1fMdOG9+T3M4fTvUMbv66zSYdZiYi4TUV1LX95bztPfZBN57DWPHn1GC6Mi2ySdavARUQaaNOuw8xLTGFHfimXje3DoulDCQ9r3WTrV4GLiJym0soaHn5rK8s+y6FXp7a8cP14Jg1q+sukVeAiIqfho+35LEhKZX9ROXMmRnPb1MG0C3WmSlXgIiL1UFhWxX2vZ5K4aS8DurXj3zdNJCE6wtFMKnARkVN4IzWXO1elc6SsilvOjeWWKbG0CWnpdCwVuIjIyeSVVHDXynTeTD/AiN4dWXb9OIb36uR0rP9QgYuIHMdaS9JX+7h3TQbl1bXMnzaEG8+JoVXL5vUeOCpwEZFj7Dlcxu0rUvloewHjojuzZHY8A7q1dzrWCanARUT47/Cph97aigHuvWQ4V0/oR4sW/rkN3hdU4CIS9LLySpiflMqmXUeYNKgbf5g1gj6dw5yOdUoqcBEJWtW1Hv7+wQ7+vC6LsNCW/Onykcwa3dtvw6d8TQUuIkEpbV8RtyWmkJlbzEVxPVl88Qi6dQh1OtZpUYGLSFCpqK7lsXe38/RH2US0a83frxnL1OE9nY7VICpwEQkaG3YeZkFSCtkFpVye0Ic7LhpGp7AQp2M1mApcRFzvaGUND76xhX9+vou+EW351w0TOHtgV6djNZoKXERcbf3WPO5ITiW3uILrz4rhd1MHEdbaHdXnjq0QETnOkdIq7l2TQfLX+xjYvT1JN5/JmKjOTsfyKRW4iLiKtZbXU3O5e1U6ReXV/HJKLL+YEktoK+eHT/maClxEXONgcQV3rkzj7YyDxPXuxL9+OoGhkR2djuU3KnARCXjWWl7duIf7Xs+kqsbDwguHcMPZzW/4lK+pwEUkoO05XMaC5BQ+yTrE+JgIHpwdT0zXdk7HahIqcBEJSLUey/Of5vDIW1tp2cJw38wRXDU+qlkPn/I1FbiIBJztB0uYl5TC17sLmTKkO/fNHEGv8LZOx2pyKnARCRhVNR6e+mAHf3lvO+1DW/H4FaO4eGSvgBk+5WsqcBEJCCl7C5mXmMKWAyX8YGQv7vnBMLq0D6zhU76mAheRZq28qpbH3t3G0x9l061DKE9fm8AFw3o4HatZUIGLSLP1efYhFiSlkHOojCvH92XhRUPp2CZwh0/5mgpcRJqdkopqlryxhRe/2E1URBgv/XQCZ8YG/vApX1OBi0iz8t6Wg9yxIo2DxRXceE4Mv7lgMG1bu+82eF9QgYtIs3DoaCW/X5PBqm/2M6hHe5788VmM6hvudKxmrd4FboxpCWwE9llrZxhjYoDlQBdgE3CNtbbKPzFFxK2stbyWkss9q9Mpqajm1+cP5OeTY2ndyt23wfvC6fyEfgVkHvP8QeBRa20scAS4wZfBRMT9DhRVcOMLG/nly1/TNyKMNf/vHH59/iCVdz3V66dkjOkDTAee8T43wBQg0fuSZcBMP+QTERey1vLyht1c8KcP+DirgEXTh5J885kM7tnB6WgBpb6nUB4D5gHf/nS7AIXW2hrv871A7xN9ozFmLjAXICoqqsFBRcQddh0qZUFSKp9lH+KM/hEsuTSe6CAZPuVrpyxwY8wMIM9au8kYM/l0V2CtXQosBUhISLCn+/0i4g61HsuzH+/kj+9sJaRFCx64NI4rxvUN2tvgfaE+R+BnARcbYy4C2gAdgceBcGNMK+9ReB9gn/9iikgg23qghHmJm9m8t4jzh3bnvplx9OzUxulYAe+UBW6tXQgsBPAegf/OWnu1MebfwGXUXYkyB1jlv5giEoiqajw8sT6Lv72fRcc2IfzlytHMiI/UUbePNOY68PnAcmPMfcDXwD98E0lE3OCbPYXMS9zMtoNHmTmqF3f9YDgR7Vo7HctVTqvArbXvA+97H2cD430fSUQCWXlVLX98eyvPfrKTHh3b8Ox1CUwZouFT/qA7MUXEZz7dUcCCpFR2Hy7jqglRLLxwCB00fMpvVOAi0mhF5dUseSOTlzfsIbpLGMvnnsEZ/bs4Hcv1VOAi0ijvZBxk0cpU8ksquWlSf269YBBtQjR8qimowEWkQQqOVnLP6nTWpOQypGcHnr42gfg+4U7HCioqcBE5LdZaVn2zn8WvpXO0sobfXDCIn31vgOaXOEAFLiL1tr+wnEUr03hvSx6jo8J5aHY8A3tofolTVOAickoej+WlDbtZ8sYWaj2Wu2YMY86Z0bRsoRtynKQCF5HvtLOglAVJKXyx8zBnx3blgUvj6BsR5nQsQQUuIidRU+vhmY938ug722jdqgUPzY7nhwl9dBt8M6ICF5H/kZlbzLzEFFL3FfH9YT24b+YIunfU8KnmRgUuIv9RWVPLX9/L4sn3dxAeFsITV43horieOupuplTgIgLAV7uPMC8xhay8o1w6pjd3Th9GZw2fatZU4CJBrqyqhoff2srzn+YQ2bENz/1kHOcO7u50LKkHFbhIEPskq4D5SSnsPVLOtRP7MW/aENqHqhYChfaUSBAqKqvm/rUZvLpxL/27tuPVmyYyPibC6VhymlTgIkHmrfQDLFqZxuHSKn4+eQC/PG+ghk8FKBW4SJDIL6kbPvV6ai7DIjvy3HXjGNG7k9OxpBFU4CIuZ61lxdf7+P2aDMoqa7lt6mDmTupPSEsNnwp0KnARF9tXWM7tyal8sC2fsf068+DseGK7t3c6lviIClzEhTwey4tf7GLJG1uwwOKLh3PNGf1ooeFTrqICF3GZHflHWZCUwpc5RzhnYFf+MEvDp9xKBS7iEjW1HpZ+lM1j726nbUhLHvnhSGaP6a3b4F1MBS7iAun7i5iflELavmKmDe/J72cOp3sHDZ9yOxW4SACrqK7lL+9t56kPsukc1ponrx7DhXGRTseSJqICFwlQG3MOMy8phez8Ui4b24c7pw+jU1iI07GkCanARQJMaWXd8Klln+XQq1NbXrh+PJMGdXM6ljhABS4SQD7Yls/tyansLypnzsRobps6mHYaPhW0tOdFAkBhWRX3rskk6au9DOjWjsSfTWRsPw2fCnYqcJFm7o3UXO5clU5hWRW3nBvLLVNiNXxKABW4SLOVV1zBXavSeTP9ACN6d2TZ9eMY3kvDp+S/VOAizYy1ln9v2st9azKoqPEwf9oQbjwnhlYaPiXHOWWBG2PaAB8Cod7XJ1pr7zbGxADLgS7AJuAaa22VP8OKuN2ew2XcviKVj7YXMD46giWz4+jfTcOn5MTqcwReCUyx1h41xoQAHxtj3gB+AzxqrV1ujHkKuAF40o9ZRVyr1mN54bMcHnpzKy0M3HvJcK6eoOFT8t1OWeDWWgsc9T4N8X5YYApwlXf5MuAeVOAipy0rr4R5iSl8tbuQ7w3qxh8ujaN3eFunY0kAqNc5cGNMS+pOk8QCTwA7gEJrbY33JXuB3if53rnAXICoqKjG5hVxjepaD3//YAd/XpdFWGhL/nT5SGaN1vApqb96Fbi1thYYZYwJB1YAQ+q7AmvtUmApQEJCgm1ARhHXSd1bxLykFDJzi5keH8k9PxhOtw6hTseSAHNaV6FYawuNMeuBiUC4MaaV9yi8D7DPHwFF3KSiupbH3t3O0x9lE9GuNX+/ZixTh/d0OpYEqPpchdINqPaWd1vgAuBBYD1wGXVXoswBVvkzqEig27DzMPOTUthZUMqPEvpy+0VDNXxKGqU+R+CRwDLvefAWwKvW2jXGmAxguTHmPuBr4B9+zCkSsEoqqnnoza388/Nd9Oncln/dMIGzB3Z1Opa4QH2uQkkBRp9geTYw3h+hRNxi/dY87khOJbe4guvPiuF3UwcR1lr3z4lv6G+SiB8cKa3i3jUZJH+9j9ju7Um6+UzGRHV2Opa4jApcxIestbyemsvdq9IpKq/ml1Ni+cWUWEJbafiU+J4KXMRHDhZXsGhlGu9kHCS+Tyf+9dMJDI3s6HQscTEVuEgjWWt55cs93L82k6oaD7dfNITrz9LwKfE/FbhII+w+VMaC5BQ+3XGICTERPDg7nuiu7ZyOJUFCBS7SALUey/Of5vDIW1tp2cJw/6wRXDkuSsOnpEmpwEVO07aDdcOnvtlTyLmDu3H/rDh6afiUOEAFLlJPVTUennx/B39dv532oa14/IpRXDyyl4ZPiWNU4CL1sHlPIfOTUthyoIQZ8ZHcc/FwurbX8Clxlgpc5DuUV9Xy6LvbeOajbLp1COXpaxO4YFgPp2OJACpwkZP6bMchFiankHOojCvHR7HwoiF0bKPhU9J8qMBFjlNSUc0Db2zhpS92069LGC/dOIEzB2j4lDQ/KnCRY6zLPMgdK9LIK6ngxnNi+M0Fg2nbWrfBS/OkAhcBDh2tZPFrGazevJ/BPTrw1DVjGdU33OlYIt9JBS5BzVrL6s37WfxaBiUV1fz6/IH8fHIsrVvpNnhp/lTgErRyi8q5c2Ua72bmMbJvOA/Njmdwzw5OxxKpNxW4BB2Px7L8yz08sDaTao+HRdOH8pOzYmip2+AlwKjAJajkFJSyIDmFz7MPc+aALiy5NJ6oLmFOxxJpEBW4BIWaWg/PfrKTP769jdYtW7Dk0jh+NK6vboOXgKYCF9fbcqCY+YkpbN5bxPlDe3DfzBH07NTG6VgijaYCF9eqrKnlifU7+Nv6LDq1DeEvV45mRnykjrrFNVTg4kpf7z7CvMQUtucdZdbo3tw5YxgR7Vo7HUvEp1Tg4iplVTX88e1tPPvJTnp2bMOz1yUwZYiGT4k7qcDFNT7NKmBBciq7D5fx4zOimD9tCB00fEpcTAUuAa+ovJoH1may/Ms9RHcJY/ncMzijfxenY4n4nQpcAto7GQdZtDKV/JJKbvpef249fxBtQjR8SoKDClwCUsHRSu5Znc6alFyG9OzA09cmEN8n3OlYIk1KBS4BxVrLqm/2s/i1dEora/ntBYP42eQBhLTU8CkJPipwCRj7C8u5Y0Uq67fmMzqqbvjUwB4aPiXBSwUuzZ7HY3lxw26WrM3EY+HuHwzj2onRGj4lQU8FLs1adv5RFiSlsiHnMGfHduWBS+PoG6HhUyJQjwI3xvQFXgB6ABZYaq193BgTAbwCRAM5wOXW2iP+iyrBpKbWwzMf7+TRd7YR2qoFD10Wzw/H9tFt8CLHqM8ReA3wW2vtV8aYDsAmY8w7wHXAOmvtEmPMAmABMN9/USVYZOwvZl7SZtL2FTN1eA/uvWQE3Ttq+JTI8U5Z4NbaXCDX+7jEGJMJ9AYuASZ7X7YMeB8VuDRCZU0tf1mXxVMf7CA8rDVPXj2GC+MinY4l0myd1jlwY0w0MBr4AujhLXeAA9SdYjnR98wF5gJERUU1OKi426ZdR5iXuJkd+aVcOqY3d80YRniYhk+JfJd6F7gxpj2QBPzaWlt87LlIa601xtgTfZ+1dimwFCAhIeGEr5HgVVpZwyNvb+X5T3Po1akty64fz/cGdXM6lkhAqFeBG2NCqCvvF621yd7FB40xkdbaXGNMJJDnr5DiTh9tz2dhcip7j5Rz7cR+zJs2hPahujBKpL7qcxWKAf4BZFpr/3TMl1YDc4Al3s+r/JJQXKeorJr712bw6sa99O/ajldvmsj4mAinY4kEnPoc7pwFXAOkGmO+8S67nbriftUYcwOwC7jcLwnFVd5MO8Cdq9I4XFrFzZMH8KvzBmr4lEgD1ecqlI+Bk118e55v44hb5ZdUcvfqNNamHmBYZEeeu24cI3p3cjqWSEDTCUfxK2styV/t4/drMiivruW2qYOZO6m/hk+J+IAKXPxm75Eybl+Rxofb8kno15kls+OJ7d7e6VgirqECF5/zeCz//HwXD765BYDFFw/nmjP60ULDp0R8SgUuPrUj/yjzE1PYuOsIkwZ14w+zRtCns4ZPifiDClx8orrWw9IPs3l83XbahrTkkR+OZPaY3ho+JeJHKnBptLR9RcxPSiF9fzEXxfXknouH072Dhk+J+JsKXBqsorqWx9dtZ+mH2US0a81TPx7DtBEaPiXSVFTg0iBf5hxmflIK2fml/HBsHxZNH0ansBCnY4kEFRW4nJajlTU8/OYWXvh8F706teWF68czScOnRByhApd6+2BbPrcnp7K/qJw5E6O5bepg2mn4lIhj9K9PTqmwrIp712SS9NVeBnRrx79vmkhCtIZPiThNBS7f6Y3UXO5clU5hWRW3nBvLLVNiNXxKpJlQgcsJ5RVXcNeqdN5MP8CI3h1Zdv04hvfS8CmR5kQFLv+HtZZ/b9rLfWsyqKjxMH/aEG48J4ZWGj4l0uyowOU/9hwu4/YVqXy0vYDx0REsmR1H/24aPiXSXKnAhVqP5YXPcnjoza20MHDvzBFcPT5Kw6dEmjkVeJDLyithXmIKX+0uZPLgbtw/K47e4W2djiUi9aACD1LVtR7+/sEO/rwui7DQljz6o5HMHKXhUyKBRAUehFL3FnFb4ma2HChhenwkiy8eTtf2oU7HEpHTpAIPIhXVtTz67jae/jCbru1DWXrNWL4/vKfTsUSkgVTgQeKL7EMsSE5lZ0EpP0roy+3Th9KprYZPiQQyFbjLlVRU89CbW/nn57voG9GWF386gbNiuzodS0R8QAXuYuu35nFHciq5xRVcf1YMv5s6iLDW2uUibqF/zS50pLSKe9dkkPz1PgZ2b0/SzWcyJqqz07FExMdU4C5irWVNSi73rE6nqLyaX06J5RdTYgltpeFTIm6kAneJg8UVLFqZxjsZB4nv04l//XQCQyM7Oh1LRPxIBR7grLW88uUe7l+bSVWNh4UXDuGGszV8SiQYqMAD2K5DpSxMTuXTHYeYEBPBg7Pjie7azulYItJEVOABqNZjee6TnTzy9lZatWjB/bNGcOU4DZ8SCTYq8ACz9UAJ85NS+GZPIVOGdOf+WSOI7KThUyLBSAUeIKpqPPzt/SyeWJ9FhzYhPH7FKC4e2UvDp0SC2CkL3BjzLDADyLPWjvAuiwBeAaKBHOBya+0R/8UMbt/sKWR+YgpbD5Zwyahe3DVjGF00fEok6NXnUoXngWnHLVsArLPWDgTWeZ+Lj5VX1XL/6xlc+rdPKCqv5plrE3j8itEqbxEB6nEEbq390BgTfdziS4DJ3sfLgPeB+b4MFuw+3VHAwuRUdh0q46oJUSy4cAgd22j4lIj8V0PPgfew1uZ6Hx8AepzshcaYucBcgKioqAauLngUV1TzwNotvLxhN/26hPHSjRM4c4CGT4nI/2r0f2Jaa60xxn7H15cCSwESEhJO+jqBdZkHuWNFGnklFcyd1J9bzx9E29a6DV5ETqyhBX7QGBNprc01xkQCeb4MFWwOHa1k8WsZrN68n8E9OvDUNWMZ1Tfc6Vgi0sw1tMBXA3OAJd7Pq3yWKIhYa1m9eT+LX8ugpKKaW88fxM2TB9C6lW6DF5FTq89lhC9T9x+WXY0xe4G7qSvuV40xNwC7gMv9GdKNcovKWbQijXVb8hjZN5yHL4tnUI8OTscSkQBSn6tQrjzJl87zcZag4PFYln+5hwfWZlLt8bBo+lB+clYMLXUbvIicJt2J2YRyCkpZkJzC59mHOXNAF5ZcGk9UlzCnY4lIgFKBN4GaWg/PfrKTP769jdatWvDg7DguT+ir2+BFpFFU4H6WmVvM/KQUUvYWcf7QHtw/awQ9OrZxOpaIuIAK3E8qa2p5Yv0O/rY+i05tQ/jrVaOZHhepo24R8RkVuB98tfsI8xNT2J53lFmje3PXjGF0btfa6Vgi4jIqcB8qq6rhkbe28dynO+nZsQ3PXTeOc4d0dzqWiLiUCtxHPskqYEFyCnsOl3O1d/hUBw2fEhE/UoE3UlF5NQ+szWT5l3uI6dqOV+aewYT+XZyOJSJBQAXeCG+nH2DRyjQKjlZy06T+3HrBINqEaPiUiDQNFXgDFByt5J7V6axJyWVIzw48MyeB+D7hTscSkSCjAj8N1lpWfrOPxa9lUFZZy28vGMTPJg8gpKWGT4lI01OB19P+wnLuWJHK+q35jIkK56HL4ontruFTIuIcFfgpeDyWFzfsZsnaTDwW7poxjDlnRmv4lIg4TgX+HbLzj7IgKZUNOYc5Z2BX/jArjr4RGj4lIs2DCvwEamo9PPPxTh59ZxuhrVrw0GXx/HBsH90GLyLNigr8OBn764ZPpe4rYurwHtx7yQi6a/iUiDRDKnCvyppa/vpeFk++v4PwsBCeuGoMF8X11FG3iDRbKnBg064jzE9KISvvKJeO6c2d0zV8SkSav6Au8LKqGh5+ayvPf5pDr05tef4n45g8WMOnRCQwBG2Bf7y9gIUr6oZPXTuxH/OmDaF9aND+OEQkAAVdYxWVV3P/6xm8unEvMV3b8epNExkfE+F0LBGR0xZUBf5W+gHuXJnGodIqbp48gF+dN1DDp0QkYAVFgeeX1A2fej01l6GRHXn2unGM6N3J6VgiIo3i6gI/fvjUbVMHM3dSfw2fEhFXcG2B7y8s5/YVqbyv4VMi4lKuK3CPx/LSht0seWMLtR6r4VMi4lquKvCcglLmJ6Xwxc7DnBXbhQdmxRPVRcOnRMSdXFHgtR7Lc5/s5JG3txLSsgUPzo7j8oS+ug1eRFwt4At8+8ESbktM4Zs9hZw/tDv3zYyjZycNnxIR9wvYAq+u9bD0w2wef3c77UJb8vgVo7h4ZC8ddYtI0AjIAs/MLea2xM2k7Stmelwkiy8ZTtf2oU7HEhFpUo0qcGPMNOBxoCXwjLV2iU9SnURFdS1/e38HT76fRae2ITx59RgujIv05ypFRJqtBhe4MaYl8ARwAbAX+NIYs9pam+GrcMf6NKuAO1amsbOglEtG9eLuHwwnQiNfRSSINeYIfDyQZa3NBjDGLAcuAXxe4AuTU3l5w276dQnjhevHM2lQN1+vQkQk4DSmwHsDe455vheYcPyLjDFzgbkAUVFRDVpRdJcwbjk3llumxGr4lIiIl9//E9NauxRYCpCQkGAb8mfc9L0BPs0kIuIGjZnqtA/oe8zzPt5lIiLSBBpT4F8CA40xMcaY1sAVwGrfxBIRkVNp8CkUa22NMeYW4C3qLiN81lqb7rNkIiLynRp1DtxauxZY66MsIiJyGvTOBiIiAUoFLiISoFTgIiIBSgUuIhKgjLUNuremYSszJh/Y1cBv7woU+DBOoAjG7Q7GbYbg3G5tc/30s9b+zwyRJi3wxjDGbLTWJjido6kF43YH4zZDcG63trlxdApFRCRAqcBFRAJUIBX4UqcDOCQYtzsYtxmCc7u1zY0QMOfARUTk/wqkI3ARETmGClxEJEAFRIEbY6YZY7YaY7KMMQuczuMPxpi+xpj1xpgMY0y6MeZX3uURxph3jDHbvZ87O53V14wxLY0xXxtj1nifxxhjvvDu71e844pdxRgTboxJNMZsMcZkGmMmun1fG2Nu9f7dTjPGvGyMaePGfW2MedYYk2eMSTtm2Qn3ranzZ+/2pxhjxpzOupp9gR/z5skXAsOAK40xw5xN5Rc1wG+ttcOAM4BfeLdzAbDOWjsQWOd97ja/AjKPef4g8Ki1NhY4AtzgSCr/ehx401o7BBhJ3fa7dl8bY3oDvwQSrLUjqBtBfQXu3NfPA9OOW3ayfXshMND7MRd48nRW1OwLnGPePNlaWwV8++bJrmKtzbXWfuV9XELdP+je1G3rMu/LlgEzHQnoJ8aYPsB04BnvcwNMARK9L3HjNncCJgH/ALDWVllrC3H5vqZufHVbY0wrIAzIxYX72lr7IXD4uMUn27eXAC/YOp8D4caYyPquKxAK/ERvntzboSxNwhgTDYwGvgB6WGtzvV86APRwKpefPAbMAzze512AQmttjfe5G/d3DJAPPOc9dfSMMaYdLt7X1tp9wCPAbuqKuwjYhPv39bdOtm8b1W+BUOBBxRjTHkgCfm2tLT72a7bumk/XXPdpjJkB5FlrNzmdpYm1AsYAT1prRwOlHHe6xIX7ujN1R5sxQC+gHf97miEo+HLfBkKBB82bJxtjQqgr7xettcnexQe//ZXK+znPqXx+cBZwsTEmh7pTY1OoOzcc7v01G9y5v/cCe621X3ifJ1JX6G7e1+cDO621+dbaaiCZuv3v9n39rZPt20b1WyAUeFC8ebL33O8/gExr7Z+O+dJqYI738RxgVVNn8xdr7UJrbR9rbTR1+/U9a+3VwHrgMu/LXLXNANbaA8AeY8xg76LzgAxcvK+pO3VyhjEmzPt3/dttdvW+PsbJ9u1q4Frv1ShnAEXHnGo5NWtts/8ALgK2ATuAO5zO46dtPJu6X6tSgG+8HxdRd054HbAdeBeIcDqrn7Z/MrDG+7g/sAHIAv4NhDqdzw/bOwrY6N3fK4HObt/XwGJgC5AG/BMIdeO+Bl6m7jx/NXW/bd1wsn0LGOqustsBpFJ3lU6916Vb6UVEAlQgnEIREZETUIGLiAQoFbiISIBSgYuIBCgVuIhIgFKBi4gEKBW4iEiA+v91Gz83sdTLOgAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "dev=[]\n",
    "for t in range(100):\n",
    "    gamma=1/(2*np.sqrt(2))\n",
    "    H=np.zeros((2*t+1,2*t+1))\n",
    "    for i in range(2*t+1):\n",
    "        H[i,i]=2*gamma\n",
    "    for i in range(2*t):\n",
    "        H[i,i+1]=-gamma\n",
    "    for i in range(1,2*t+1,1):\n",
    "        H[i,i-1]=-gamma\n",
    "    psi0=np.zeros(2*t+1)\n",
    "    psi0[t]=1\n",
    "    psi=np.dot(expm(-1j*H*t),psi0)\n",
    "    s=0\n",
    "    for i in range(2*t+1):\n",
    "        s+=(i-t)**2*np.linalg.norm(psi[i])**2\n",
    "    dev.append(np.sqrt(s))\n",
    "plt.plot(range(100),dev)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Some Applications of Quantum Walk：\n",
    "\n",
    "\n",
    "\n",
    "①Quantum Verification of Matrix Products\n",
    "\n",
    "Buhrman H, Spalek R. Quantum verification of matrix products[J]. arXiv preprint quant-ph/0409035, 2004.\n",
    "\n",
    "\\\\\n",
    "\n",
    "②Quantum Search Algorithm\n",
    "\n",
    "Shenvi N, Kempe J, Whaley K B. Quantum random-walk search algorithm[J]. Physical Review A, 2003, 67(5): 052307.\n",
    "\n",
    "\\\\\n",
    "\n",
    "③Element Distinctness\n",
    "\n",
    "Ambainis A. Quantum walk algorithm for element distinctness[J]. SIAM Journal on Computing, 2007, 37(1): 210-239.\n",
    "\n",
    "\\\\\n",
    "\n",
    "④Group Commutativity \n",
    "\n",
    "Nayak A, Vishwanath A. Quantum walk on the line[J]. arXiv preprint quant-ph/0010117, 2000.\n",
    "\n",
    "\\\\\n",
    "\n",
    "⑤Generation of Entangled States\n",
    "\n",
    "Gratsea A, Lewenstein M, Dauphin A. Generation of hybrid maximally entangled states in a one-dimensional quantum walk[J]. Quantum Science and Technology, 2020, 5(2): 025002."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The relationship between quantum walk and Grover's algorithm\n",
    "$$\n",
    "C=C_{0} \\otimes \\mathcal{I}\n",
    "$$\n",
    "$$\n",
    "C_{0}=G=-\\mathcal{I}+2\\left|s^{C}\\right\\rangle\\left\\langle s^{C}\\right|\n",
    "$$\n",
    "$$\n",
    "S=\\sum_{d=0}^{n-1} \\sum_{\\vec{x}}(-1)^{f(x)}\\left|d, \\vec{x} \\oplus \\vec{e}_{d}\\right\\rangle\\langle d, \\vec{x}|\n",
    "$$\n",
    "$$\n",
    "f(x)= \\begin{cases}1, & \\text { if } \\text{ x is the target} \\\\ 0, & \\text { otherwise }\\end{cases}\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "interpreter": {
   "hash": "0adcc2737ebf6a4a119f135174df96668767fca1ef1112612db5ecadf2b6d608"
  },
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
